<?php

namespace app\admin\controller;
use \think\Controller;
use app\admin\model\Admin as AdminModel;
class Admin extends Common
{
//    添加用户
    public function add()
    {
//        return view('add');
//        第二种界面引入方式,如果你引入不到，就后面添加配置信息的前缀
//        $view = new \think\View();
//        return $view->fetch();
//        第三种界面引入方式：命名空间下引入
//        $view = new View();
//        return $view->fetch();'
//        第四种界面引入方式
//        判断用户是否提交了表单，提交过后获得专门的post数据



        if(request()->isPost()){
//            $data = input('post.');
//            dump($data);
//            tp5往数据库里添加数据,注意那个点,添加成功了肯定有返回值吧，返回的是主键id,这是使用助手函数进行添加
//            $res = db('admin')->insert(input('post.'));
//            dump($res);die();

//            第二种方法往数据库里添加数据，使用模型
            $admin = new AdminModel();
            $res = $admin->addAdmin(input('post.'));

            if ($res){
//                如果有值的话就弹框，并且跳到列表页
                $this->success('用户添加成功',url('lst'));
            }else{
                $this->error('添加管理员失败');
            }
            return;
        }
//        以上操作都i是在控制器里，但是我峨嵋你最好都是在模型里面进行操作



//        dump($_POST);die;
        return view();
    }

//    加载用户列表页
    public function lst()
    {

//        使用模型获取用户数据,不new 行不行
//        $haha = new AdminModel();
//        $res = $haha->select();

//        不实例化也行
//        $res = AdminModel::select();

//        通过模型获取数据
        $haha = new AdminModel();
        $adminres = $haha->getAdmin();
//        为前台模板分配变量
        $this->assign('adminres',$adminres);

//        使用控制器获得数据,照样是二维数组
//        $res = db('admin')->field('name')->select();
//        dump($res);die;

        return view();
    }
//    编辑用户
    public function edit($id)
    {
        $admins = db('admin')->find($id);
        if (request()->isPost()){
            $data = input('post.');
            if (!$data['name']){
                $this->error('管理员用户名不得为空');
            }
            if (!$data['password']){
                $data['password'] = $admins['password'];
            }else{
                $data['password'] = md5($data['password']);

            }
//            dump($_POST);die;操，忘记那个点了
//
            $res = db('admin')->update($data);
//            第二次点击的时候变为0了，所以就为家了，影响了0条数据，所以让他不为假
            if ($res !==false){
                $this->success('修改成功',url('lst'));
            }else{
                $this->error('修改失败');
            }
            return;
        }

        if (!$admins){
            $this->error('该管理员不存在');
        }
//        分配变量
        $this->assign('admins',$admins);
        return view();
    }

//    删除管理员
    public function del($id)
    {
//        dump(123);
        if ($id){
            db('admin')->delete($id);
            $this->success('删除成功',url('lst'));
        }
    }


//    退出登录
    public function logout()
    {
         session(null);
         $this->success('退出成功',url('admin/login/index'));
    }

}
